// File Name: oled_logic.h
// Author: kukukukuku~
// Date: 2024-07-04

#ifndef __OLED_LOGIC_H
#define __OLED_LOGIC_H

#include "./User/OLED/inc/oled_ctrl.h"

//OLED设置坐标
void oled_set_position(uint8_t x, uint8_t y);

//OLED开启显示
void oled_display_on(void);

//OLED关闭显示
void oled_display_off(void);

//OLED清除屏幕
void oled_clear(void);

//OLED显示一个8x16字符
void oled_show_char_8x16(uint8_t x, uint8_t y, uint8_t ch, uint8_t mode);

//OLED显示8x16字符串
void oled_show_str_8x16(uint8_t x, uint8_t y, const uint8_t * const str, uint8_t mode);

//OLED显示16x16中文
void oled_show_chinese_16x16(uint8_t x, uint8_t y, const uint8_t *oledFontSource, uint8_t oledFontNum, uint8_t mode);

//OLED显示主界面
void oled_dis_main(uint8_t mainId);

//OLED显示菜单
uint8_t oled_dis_menu(pOledMenu oledMenu);

//OLED设置数值
uint16_t oled_set_val(const uint8_t * const title, const uint16_t currentVal, const uint16_t minVal, const uint16_t maxVal);

//OLED Key三级菜单显示
void oled_menu_level3_key(void);

//OLED LED三级菜单显示
void oled_menu_level3_led(void);

//OLED OLED三级菜单显示
void oled_menu_level3_oled(void);

//OLED RS485三级菜单显示
void oled_menu_level3_rs485(void);

//OLED Step_Motor三级菜单显示
void oled_menu_level3_step_motor(void);

//OLED WS2812B三级菜单显示
void oled_menu_level3_ws2812b(void);

//OLED LED四级菜单显示
void oled_menu_level4_led(void);

//OLED WS2812B四级菜单显示
void oled_menu_level4_ws2812b(void);

//OLED WS2812B五级菜单显示
void oled_menu_level5_ws2812b(void);

#endif //__OLED_LOGIC_H
